@database Shrub @Author Lee Kindness @$VER: Shrub_Documentation 1.14 @node Main "Shrub documentation" Shrub * * ** [S]mart [H]yperdirectory [R]eader ===== ************ [U]nd [B]rancher... well maybe not.. ************ *************** A rather groovy directory tree lister ***************** ===================================== ******************** ********************* Copyright Lee Kindness **** | | ****** ======================= | | | | _______________________| |___(This is ment to be a shrub!!!)_______________ @{" Introduction " link INTRO} @{" Features " link FEATURES} @{" Usage " link USAGE} @{" Contact " link CONTACT } @{" Version History " link VERH } @{" Ta Billy " link TABILLY } @endnode @remark ******************************************************************** @node INTRO "Introduction" So what the hell is Shrub you ask? A database of all available plants in the UK - No. A nifty program that helps you maintain the temperatures that plant seeds need to germinate - I don't think so. Shrub creates directory listings in a "tree" format. If you have used the "Tree" command of MSDOS then you'll know what I'm on about. Otherwise here goes an explanation : You select a drawer, every file within this drawer is displayed in a list, if there are other drawers in this directory then they too will have their contents displayed, and so on. The output in the list is formated so that it is easy to understand. Eg: File1 File2 Dir1 File1.1 Dir1.1 File1.1.1 File1.2 File3 File4 Note the indentation makes the listing readable, therefore helping you around your drawers. @endnode @remark ******************************************************************** @node FEATURES "Features" There are a number of other directory tree viewers kicking around the Amiga PD scene. DTree, PVTree, Directree and Bush (also by me) are some I'm aware of. So Why use Shrub? 1. It's very fast. For a listing of my SYS: partition (10MB, 102 drawers, 1254 files) here are the results (approx.) : DTree : 36 (s) Directree : 20 (s) PVTree : 10 (s) Bush : 32 (s) Shrub : 4 (s) !!! :) 2. It has a nice WB2/3 user interface. You can even drop icons into Shrub's window to get listings. It's not Shell only like DTree and Bush, does not have the horrid Amos GUI of Directree and is a little bit more pratical than PVTree's very nice GUI. 3. It's packed with features: You can save the listing as ascii text. Choose not to display Workbench icon files. Findout how many files and drawers are within a directory. Choose if you wish to traverse linked directories. View files. Alter a files Information. Find out if an item is a link, normal file, softlink or even a pipefile. You can search the created list for file matches. 4. It's got a wild name (like a lot of my programs, Publican, Bush, MidMoose, WangiPad, NaeGrey, WoofWoof and DQua, I must be out of my heid :). Shrub requires Workbench 2 or better to work. @endnode @remark ******************************************************************** @node USAGE "Usage" Simply double click the icon. @{"Tooltypes" link ARG 5} and @{"program arguments" link ARG} are supported. If you have WangiPad or Toolmanager installed then you could setup Shrub as a Workbench item/object You could then select a directory, select Shrub from the pad/dock/menu and get a tree listing of that directory. You can the use shift select from workbench to get a directory listing of the selected drawer or file. SHRUB REQUIRES REQTOOLS LIBRARY, IT IS NOT SUPPLIED IN THIS DISTRIBUTION Once you've got Shrub on the go you can use the "Project/directory..." menuitem to get a listing of a new directory. You can also drag an icon into the window, the directory that that icon is in will be listed. Items a listed in this with their name first followed occasionally by the other text. The other stuff means: (dir) : this is a directory (dir) : this is a linked directory (dir) : this is a softlinked directory or file !! : this is a linked file : this is a pipe file?? If the "Settings/Show Icons?" menuitem is checked then Workbench Info files (.info) will be shown in the list, if not then they wont! If a directory is linked ("(dir " or "(dir) ") then its contents will only be shown if the "Settings/Follow Linked Drawers?" menuitem is checked. Double clicking on an item in the list will cause that file to be viewed if the "Settings/View On Double Click?" menuitem is checked. The viewer specified thru' the @{"VIEWER" link ARG} option will be used. If the "Settings/Info On Double Click?" menuitem is checked then information on the file will be displayed. The display will be the same as that obtained thru' Workbench's "Icon/Information..." menuitem. This feature is only available if you have Workbench 3 or higher... so upgrade to Workbench 3.1 now! The "Item" menu also allows the above functions to be used. The tree listing can be saved as ascii text thru' the "Project/Save As..." menuitem. If the "Settings/Create Icons?" menuitem is checked then an icon will be saved for the created file. A hard copy of the tree listing can be produced by the "Project/Print" menuitem. The preferences printer settings will be used. Some statistics can be viewed via the "Project/Statistics..." memuitem. A window will then appear, displaying the name of the drawer that the tree is based on; the amount of drawers within this directory; The amount of files in the directory and the amount of files in the listing (remember .info files might not be shown) You can search the created list for a particular file using the "Search/Find..." menuitem. You can search for all files matching the specified wildcard (see Amiga documentation for more info). To find a subsequent match use "Search/Find Next". @endnode @remark ********************************************************************* @node ARG "Arguments" Shell command template: DIRECTORY,LEFT/K/N,TOP/K/N,WIDTH/K/N,HEIGHT/K/N,PUBSCREEN/K,SPACETEXT/K, LINKS/S,SHOWICONS/S,VIEWODC/S,INFOODC/S,VIEWER/K,FULLSEARCH/S: Workbench icon tooltypes: DIRECTORY LEFT TOP WIDTH HEIGHT PUBSCREEN SPACETEXT LINKS SHOWICONS VIEWODC INFOODC VIEWER DIRECTORY Initial directory to create tree from on startup. LEFT,TOP,WIDTH,HEIGHT Position and dimensions of the window. PUBSCREEN public screen that the window will open on. SPACETEXT Text that will be used to pub output. Defaults to " ", " | " would give more emphasis on the directory structure. LINKS If specified then the "Follow Linked Drawers?" menuitem will be checked and activated. SHOWICONS If specified then the "Save Icons?" menuitem will be checked and activated. VIEWODC If specified then the "View On Double Click?" menuitem will be checked and activated. INFOODC If specified then the "Info On Double Click?" menuitem will be checked and activated. VIEWER Specifies the program that is to be used to view files (defaults to MultiView). EXAMPLES: Shell: Shrub Apps: LEFT=10 PUBSCREEN=HSPASCAL.1 SPACETEXT=" | " WB tooltypes PUBSCREEN=HSPASCAL.1 LEFT=10 WIDTH=300 SPACETEXT= | DIRECTORY=Apps: VIEWER=C:The_Worlds_Best_View_Everything_Util VIEWODC @endnode @remark ******************************************************************** @node CONTACT "Contact" Shrub is written by Lee Kindness. If you wish to contact me for any reason then here's where you can: Mail: Lee Kindness 8 Craigmarn Road Portlethen Village ABERDEEN AB1 4QR SCOTLAND Wangi Type somethink like the following on #amiga : /me shouts what a piece of shrubbery to Wangi :) Shrub is not PD, if you find it useful then you should send me something. Otherwise you could end up a pile of sticky marshmallow after you guilt caused you to go into melt-down. Or even worse you could be locked up because of the Wangi Demons flying round your heid, sticking little picks into your skull, only nobody else sees them. You have been warned! So if you do find Shrub useful or are teriffied of the above then what do you send me? Well Shrub is infact something called GiftWare, you send me gift of your choice. If you enclose a SAE or equivelent with your gift then I will send you a disk with all the programs written by myself (over 15!!) plus some others. ... oh and a Warm welcome to the Amiga Scene Escom, hope you want to invest in the ami... PPC, RTG... would be nice (new amiga's would be nice, forget C64's :) LSK _\\// @endnode @remark ********************************************************************* @node VERH "Hmmm... interesting Ja, Ja Ja Ja ???" Shrub was programmed using Highspeed Pascal by Highsofton an A1200 with '030 CPU (Viper board), 2+4 MB RAM and 120 MB HD. Shrub has been tested using Enforcer. 1.0 : 09.10.94 + Initial version. 1.1 : 11.10.94 + Added the AppWindow. + Added size gadget. (Very crude, it closes the window and then reopens it to the new size. How else can you alter a listview without crudding the window?) - Removed "Directory..." gadget, just use the menu now. 1.2 : 12.10.94 + Added requester on quitting. + Changed "SPACETEXT/K/F" in the Shell arguments to "SPACETEXT/K" this now lets you have a space after any characters in the Spacetext, eg: " | " now works. 1.3 : 13.10.94 + Added the "VIEWER", "LINKS", "INFOODC", "VIEWODC" and "SHOWICONS" arguments. + Added "Settings/Info On Double Click" and "Settings/View On Double Click" menuitems. + Double clicking on an item in the list now gives you info on it and views it (depending on above added settings). 1.4 : 20.10.94 - Small changes (new version of HSPascal). 1.5 : 21.10.94 - Default viewer is now "SYS:Utilities/Multiview" rather than "Multiview" so that if "SYS:Utilities" is not in the current path it will still work. 1.6 : 23.10.94 - "Statistics..." will now state that a drawer is empty rather than saying "0 drawers and 0 files". - The "Directory" argument now correctly works with drawers again, it was using the parent of the drawer. - "Print" added. - "Save As..." and "Print" - Says in text in directory is empty. - "Save As..." - Default file name now based on the tree. - Full name of the tree drawer is saved in the files comment field. - File now a project. - Menus rearanged. - "Statistics...", "Save As..." and "Print" menu items are now disabled if no tree is loaded. 1.7 : 27.10.94 - All .info files are now masked out when "Settings/Show Icons?" is not enabled. .Info files were slipping thru'. - Double clicking on an item in the list will now print its fully qualified path and name on the screen titlebar. If the item is a hard link then the item it is linked to will also be printed out. - "Search" menu added. Has no functionality at present but will in a future version allow the list to be searched for a file/wildcard match. 1.8 : 28.10.94 - Window is now resized rather than closed and reopened when the zoom or size gadgets are used. 1.9 : 30.10.94 - Search function partially implememted. Has no GUI interface, a console window is opened for input/output. All files matching the pattern are listed in the console along with their line number. This line number can be used with the new "Search/Goto Line..." menuitem to locate the item. The "FULLSEARCH" option has been temparally added to specify that search results are to be fully qualifified paths. 1.10 : 06.11.94 - "Goto Line..." improved, the default value in the requester was 2 less than it should have been (thus if you just pressed enter you would be 2 places further up the list than you should be). 1.11 : 13.12.94 - When activated from workbench, if shift select is used then the tree will be made of the selected icon. 1.12 : 16.12.94 - Bug fix. Even if no icons were being shift selected Shrub thought they were. 1.13 : 24.04.95 - Major Revision. - Completed search functions/added find next. - Removed Goto line item. - Added Item menu and its show and info items. - Removed the "Directory Tree" text from above the list. - Removed MagicWB icons... euch. 1.14 : 25.04.95 - Bug fix: Searching enforcer hits and misc. bugs removed. - Modified the default values of LEFT and WIDTH. - Removed a spelling error (oops :), thanks CStar. - Tweeked Shrub.info - Improved the info given when a file is double-clicked, if it was a link before then it only said "xx hardlink to yy' now it says: "xx soft link to yy" or "xx hard file link to yy" or "xx hard drawer link to yy" @endnode @remark ********************************************************************* @node TABILLY "T,T,Ta Billy..." Thanks goto Adam Kindness, Tom Pettigew and Jon Pettigrew for daily testing of my programs... and hi to all on #amiga, (minus fastlane...:) @endnode